jjzjj

php - 从异常中重新启动实体管理器

全部标签

ruby-on-rails - Ruby无一异常(exception)地获得回溯

我有一个RubyonRails应用程序,其中一个模型的验证失败。对于此验证可能失败的地方,代码库有不同的入口点。我有兴趣弄清楚它是从哪里来的。由于这是一个简单的验证方法,因此不涉及任何异常,我只是从方法中返回false并且保存失败。目前是否还可以记录回溯以查明此验证源自哪个服务/路由,以便我可以查看是什么导致此对象的状态发生更改以使其验证失败? 最佳答案 你可以试试caller():deffoo2putscallerenddeffoofoo2#line5endfoo#line7结果:test.rb:5:in`foo'test.rb:

ruby-on-rails - 相关模型的每个实例的事件管理范围

我对动态事件管理范围有疑问。我正在尝试为我的应用程序中的“项目”的每个“经理”创建一个范围。但是,当创建新经理(或分配给项目)时,范围似乎不会更新,但如果我重新启动服务器,它们会更新。所以代码本身“有效”,但显然不是我想要的方式。我是ruby​​/rails新手,所以我不确定是否需要做一些事情以某种方式“刷新”范围。仅供引用,我在带有ActiveAdmin的HerokuCedar上使用Rails3.2这是有问题的代码(有效但仅在服务器重新启动后引入新的管理器):Manager.find_eachdo|m|scopem.first_namedo|projects|projects.whe

ruby-on-rails - 强制 Rails 3 动态查找器抛出 RecordNotFound 异常?

是否可以强制Rails动态查找器在找不到结果时抛出ActiveRecord::RecordNotFound异常而不是返回nil?例如,如果名称为“Nuka–Cola”的饮料不存在:@not_found=Beverage.find_by_name('Nuka–Cola')而不是拥有@not_found==nil可以吗.find_by_name('Nuka–Cola')方法调用抛出ActiveRecord::RecordNotFound异常?或者我是否必须检查nil并手动抛出异常? 最佳答案 使用bang版本。@not_found=Be

ruby-on-rails - gem install json 失败,重新定义了 struct timezone/timespec

我在Windows上使用带有DevKit的Ruby1.9.3(在Win764位上都是32位)。现在我尝试安装rails,但从bundle中得到一个错误。如果我尝试运行(包在提示什么)geminstalljson我收到以下错误消息:D:\RubyTest>geminstalljsonTemporarilyenhancingPATHtoincludeDevKit...Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingjson:ERROR:Failedtobuildgemnativeextension.D:

ruby - Rails 服务器启动时 malloc_zone_unregister 失败

为我正在处理的项目启动Rails服务器时,我收到以下错误:malloc:***malloc_zone_unregister()failedfor周末发生的变化是我升级到了OSSierra。迄今为止的研究:我遇到了这个githubissue这看起来很有希望,我试图修改我的jemallocgem的zone.c文件以尝试fixPR中的代码更改。.这没有做任何改变错误的事情退一步说,jemalloc不在我的Gemfile中,所以我不知道是什么导致了这个问题,除了尝试从我的计算机中删除Sierra之外,我不知道如何解决它。更新:我在我的Gemfile中重新引入了组中的gems,这导致使用了不同版

Ruby,哪个异常最适合处理未设置的环境变量?

我编写的脚本在启动时运行,需要设置环境变量,但是Ruby的Exceptions,是最好的?我使用了LoadError,我只是想尽可能具有描述性并遵循适当的约定。其次,除了检查环境变量的长度外,我找不到其他方法来查看是否设置了环境变量,但这似乎不太优雅。beginraiseLoadErrorifENV['FOO'].to_s.length==0system"openhttp://example.com/"+ENV['FOO']rescueException=>eputs"=>#{e}FOOenvironmentvariablenotset"end 最佳答案

ruby - 根据 Windows 上的每个请求重新加载 Sinatra 应用程序

我已经根据这个thread设置了Rack::Reload#config.rurequire'rubygems'require'sinatra'set:environment,:developmentrequire'app'runSinatra::Application#app.rbclassSinatra::Reloader通过thinstart-Rconfig.ru使用thin运行,但它只会重新加载新添加的路由。当我更改现有路线时,它仍会运行旧代码。当我添加新路由时,它会正确地重新加载它,因此它可以访问,但它不会重新加载任何其他内容。例如,如果我将路线更改为get'/'do'bar'

ruby-on-rails - Rails 服务器无法启动,Rails 5 中的弃用警告(MIME?Sprockets?)

我使用“railss”,但服务器无法启动。我也是刚开始当我重新启动它时,我得到了这个:=>BootingPuma=>Rails5.0.0applicationstartingindevelopmentonhttp://localhost:3000=>Run`railsserver-h`formorestartupoptionsDEPRECATIONWARNING:Sprocketsmethod`register_engine`isdeprecated.Pleaseregisteramimetypeusing`register_mime_type`thenuse`register_com

ruby-on-rails - 销毁用户模型后,无法重新添加用户模型

所以我在Rails上工作,对我的用户模型感到有点沮丧,所以我销毁了它(我也在使用设计,这可能是错误的来源)。在我的辩护中,我感到疲倦、沮丧,而且有点微醺。我尝试使用简单的railsgscaffolduserfirst:textlast:text将其添加回去,但在尝试生成模型时出现以下错误。我该如何修复这一切备份?/home/action/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/inflector/methods.rb:226:in`const_get':uninitializedcons

ruby-on-rails - Ruby 相当于 PHP 的 ucfirst() 函数

在Ruby中(使用Rails,如果相关)将字符串首字母大写的最佳方法是什么?请注意String#capitalize不是我想要的,因为除了将字符串的首字母大写外,此函数还使所有其他字符变为小写(这是我不想要的——我想让它们保持原样):>>"aA".capitalize=>"Aa" 最佳答案 在Rails中你有String#titleize方法:"测试字符串标题化方法".titleize#=>"测试字符串标题化方法" 关于ruby-on-rails-Ruby相当于PHP的ucfirst()